A graph is a structure comprising vertices (or nodes) connected by edges, representing relationships between objects or processes. For example, a graph may represent connections between different users of a social networking application. A graph may represent communication paths within a network or organization of a data structure. The use of graph computing is gaining popularity in big data analytics and is often performed on multiple machines, for example, within a datacenter. As data volumes and computational workloads increase, there is a desire to limit or reduce power consumption to comply with green computing goals and/or to limit financial costs.
Additionally, datacenters may include a variety of different platforms. The platforms are heterogeneous and each platform may include one or more processors or processing cores. The processors and processing cores may employ dynamic voltage and frequency scaling, may be fabricated in different processes, and may have varying power consumptions. Therefore, an opportunity exists to balance power consumption against execution speed for graph computing performed by heterogeneous platforms.